ImageGear Professional v18.4 > User Guide > Using ImageGear > Optical Character Recognition > Recognition > Recognition Modules |
The ImageGear Recognition component can load a number of recognition modules: which ones are present depends on its configuration. You can program which one should run in a given zone, with the AT_REC_ZONE's attribute. This allows your application to perform "multi-module" recognition on any image.
The enumIGRecRecognitionModule lists the possible recognition modules:
Corresponding to the above list, the RecognitionModule field of any zone should contain one of the following recognition module IDs: IG_REC_RM_OMNIFONT_PLUS3W, IG_REC_RM_OMNIFONT_PLUS2W, IG_REC_RM_OMNIFONT_MTX, IG_REC_RM_OMNIFONT_MOR, IG_REC_RM_OMNIFONT_FRX, IG_REC_RM_DOT, IG_REC_RM_MAT, IG_REC_RM_ASIAN or the special one: IG_REC_RM_AUTO.
IG_REC_RM_AUTO means that the recognition engine will choose the module most likely to be appropriate. It does this first of all by consulting the filling method set for the zone.
The filling method describes the type of data expected in the zone. A degree of auto-detection is available for the filling method, with the IG_REC_image_filling_method_detect() function, useful when the precise filling method used on incoming documents may not be known in advance. It is the programmer's responsibility to specify a valid recognition module-filling method pair. Any incorrectly set zone will have no recognition result. Some recognition modules support more than one filling method, and some filling methods are accepted by more than one recognition module. For example, with mid-quality 9-pin dot-matrix text, either IG_REC_RM_DOT or one of the omnifont modules could give better results.
You can find detailed information on this and the different recognition modules in the Recognition module specifications.
IG_REC_RM_AUTO reads the filling method; if only one recognition module is suitable, it is used. When there is a choice, IG_REC_RM_AUTO uses various checks (character set, image size, etc.) to select the best one. Thus, it protects against an invalid FM-RM pair.
If the recognition module is not present when it is needed, the recognition function ( IG_REC_image_recognize() ) returns with IGE_REC_EXTENDED_ERROR / IGE_REC_EXT_API_MODULEMISSING_ERR, and there will be no recognized data for the zone concerned. To avoid risk of this, we recommend checking the presence and correct installation of the necessary recognition modules by calling IG_REC_modules_info_get() just after the recognition component's initialization.